package net.kernel;

import java.sql.SQLException;

import net.ko.kobject.KDuoClasseList;
import net.ko.kobject.KObject;
import net.ko.ksql.KDbResultSet;

/**
 * Classe KLignefraisforfait
 */
@SuppressWarnings("serial")
public class KLignefraisforfait extends KObject {
	private KFichefrais fichefrais;
	private String idFraisForfait;
	private KFraisforfait fraisforfait;
	private int quantite;
	private int idFichefrais;
	private transient float total;

	public KLignefraisforfait() {
		super();
		keyFields = "idFichefrais,idFraisForfait";
		tableName = "lignefraisforfait";
		belongsTo(KFraisforfait.class);
		total = 0;
		belongsTo(KFichefrais.class);
	}

	/**
	 * return the value of fichefrais
	 * 
	 * @return fichefrais
	 */
	public KFichefrais getFichefrais() {
		return this.fichefrais;
	}

	/**
	 * return the value of idFraisForfait
	 * 
	 * @return idFraisForfait
	 */
	public String getIdFraisForfait() {
		return this.idFraisForfait;
	}

	/**
	 * return the value of fraisforfait
	 * 
	 * @return fraisforfait
	 */
	public KFraisforfait getFraisforfait() {
		return this.fraisforfait;
	}

	/**
	 * return the value of quantite
	 * 
	 * @return quantite
	 */
	public int getQuantite() {
		return this.quantite;
	}

	/**
	 * return the value of idFichefrais
	 * 
	 * @return idFichefrais
	 */
	public int getIdFichefrais() {
		return this.idFichefrais;
	}

	/**
	 * set the value of fichefrais
	 * 
	 * @param aFichefrais
	 */
	public void setFichefrais(KFichefrais aFichefrais) {
		this.fichefrais = aFichefrais;
	}

	/**
	 * set the value of idFraisForfait
	 * 
	 * @param aIdFraisForfait
	 */
	public void setIdFraisForfait(String aIdFraisForfait) {
		this.idFraisForfait = aIdFraisForfait;
	}

	/**
	 * set the value of fraisforfait
	 * 
	 * @param aFraisforfait
	 */
	public void setFraisforfait(KFraisforfait aFraisforfait) {
		this.fraisforfait = aFraisforfait;
	}

	/**
	 * set the value of quantite
	 * 
	 * @param aQuantite
	 */
	public void setQuantite(int aQuantite) {
		this.quantite = aQuantite;
	}

	/**
	 * set the value of idFichefrais
	 * 
	 * @param aIdFichefrais
	 */
	public void setIdFichefrais(int aIdFichefrais) {
		this.idFichefrais = aIdFichefrais;
	}

	@Override
	public String toString() {
		String result = "";
		if (fraisforfait != null)
			result = fraisforfait + " : ";
		return result + quantite;
	}

	@Override
	protected boolean loadFromDb(KDbResultSet result, boolean constraint,
			KDuoClasseList duoClasseList, boolean fromList) throws SQLException {
		boolean load = super.loadFromDb(result, constraint, duoClasseList,
				fromList);
		if (fraisforfait != null)
			total = quantite * fraisforfait.getMontant();
		return load;
	}
}